package com.cleaningcloud.erp.service;

import com.cleaningcloud.erp.domain.ErpSupplierCommodity;
import com.cleaningcloud.erp.domain.vo.ErpCommodityVo;
import com.cleaningcloud.erp.domain.vo.ErpSupplierCommodityVo;

import java.util.List;

/**
 * 供应商商品Service接口
 *
 * @author cleaningcloud
 * @date 2024-09-26
 */
public interface IErpSupplierCommodityService {
    /**
     * 查询供应商商品
     *
     * @param supplierCommodityId 供应商商品主键
     * @return 供应商商品
     */
    ErpSupplierCommodity selectErpSupplierCommodityBySupplierCommodityId(Long supplierCommodityId);

    /**
     * 查询供应商商品列表
     *
     * @param erpSupplierCommodity 供应商商品
     * @return 供应商商品集合
     */
    List<ErpSupplierCommodityVo> selectErpSupplierCommodityList(ErpSupplierCommodity erpSupplierCommodity);

    /**
     * 新增供应商商品
     *
     * @param erpSupplierCommodity 供应商商品
     * @return 结果
     */
    int insertErpSupplierCommodity(ErpSupplierCommodity erpSupplierCommodity);

    /**
     * 修改供应商商品
     *
     * @param erpSupplierCommodity 供应商商品
     * @return 结果
     */
    int updateErpSupplierCommodity(ErpSupplierCommodity erpSupplierCommodity);

    /**
     * 批量删除供应商商品
     *
     * @param supplierCommodityIds 需要删除的供应商商品主键集合
     * @return 结果
     */
    int deleteErpSupplierCommodityBySupplierCommodityIds(Long[] supplierCommodityIds);

    /**
     * 删除供应商商品信息
     *
     * @param supplierCommodityId 供应商商品主键
     * @return 结果
     */
    int deleteErpSupplierCommodityBySupplierCommodityId(Long supplierCommodityId);


    /**
     * 导入商品数据
     *
     * @param userList        商品数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName        操作用户
     * @param supplierId      供应商ID
     * @return 结果
     */
    String importErpSupplierCommodity(List<ErpCommodityVo> userList, Boolean isUpdateSupport, String operName, Long supplierId);
}
